/*
 * @ProjectName: 综合安防
 * @Copyright:   2018 HangZhou Hikvision System Technology Co., Ltd. All Right Reserved.
 * @address:     http://www.hikvision.com
 * @date:        2018年01月29日 14:21
 * @description: 本内容仅限于杭州海康威视系统技术公有限司内部使用，禁止转发.
 */
package com.capsule.chapter.validate;

import java.lang.annotation.*;

/**
 * <p>
 *    自定义注解校验
 * </p>
 *
 * @author xiachaoyang
 * @version V1.0
 * @date 2018年09月13日 13:41
 * @modificationHistory=========================逻辑或功能性重大变更记录
 * @modify By: {修改人} 2018年09月13日
 * @modify reason: {方法名}:{原因}
 * ...
 */
//定义注解的作用目标**作用范围字段、枚举的常量
@Target({ElementType.FIELD})
//注解会在class字节码文件中存在，在运行时可以通过反射获取到
@Retention(RetentionPolicy.RUNTIME)
//说明该注解将被包含在javadoc中
@Documented
public @interface Validation {

    /**
     * 允许为空
     * @return
     */
    boolean allowEmpty() default true;

    /**
     * 允许最大长度,支持String、List
     * @return
     */
    int maxLength() default 0;

    /**
     * 允许的单个值的最大最小值
     * @return
     */
    int[] allowRange() default {Integer.MIN_VALUE,Integer.MAX_VALUE};
}
